As illustrated in FIG. 3, a wireless access network (evolved universal terrestrial radio access network (E-UTRAN)) 1 in a mobile communication system of a long term evolution (LTE) method includes a base station eNB and a mobile station UE. The base station eNB and the mobile station UE communicate via a radio link RL. Furthermore, the base station eNB and the mobile station UE each include a layer structure 3 based on a function related to wireless communication and a wireless unit 8.
The layer structure 3 includes a packet data convergence protocol (PDCP) sub-layer 4, a radio link control (RLC) sub-layer 5, a medium access control (MAC) sub-layer 6, and a physical layer 7.
Each layer structure 3 of the base station eNB and the mobile station UE, when sending data, performs a PDCP process, a RLC process, a MAC process, and a physical (PHY) process in sequence on sending-object data and then outputs the processed data to the wireless unit 8. As for the PDCP process, the RLC process, the MAC process, and the PHY process, process contents are respectively determined in accordance with a specification of a communication method, and a state of data output from the layer structure 3 to the wireless unit 8 is a state in accordance with the specification. The wireless unit 8 generates a signal for communication by modulating the data output from the layer structure 3, and sends the signal for communication to a communication partner via the radio link RL.
Next, with reference to FIG. 4, processes of the RLC sub-layer 5 and the MAC sub-layer 6 will be described. Note that the process of the RLC sub-layer 5 includes a plurality of types such as a transparent mode (TM), an unacknowledged mode (UM), and an acknowledged mode (AM). Out of such processes, a process performed in the AM by the RLC sub-layer 5 will be described.
The RLC sub-layer 5 includes, as functional portions, a service data unit (SDU) receiver 10, a protocol data unit (PDU) generator 11, a PDU sender 12, a PDU receiver 13, an SDU generator 14, an SDU sender 15, and a controller 18. The RLC sub-layer 5 further includes a sending buffer 16 and a receiving buffer 17 as storage portions.
The MAC sub-layer 6 includes, as functional portions, an SDU receiver 20, a PDU generator 21, a PDU sender 22, a PDU receiver 23, an SDU generator 24, an SDU sender 25, a hybrid automatic repeat request (HARQ) information portion 27, and a controller 28.
The SDU receiver 10 of the RLC sub-layer 5 has a function of receiving, from the PDCP sub-layer 4, an RLC-service data unit (RLC-SDU) as sending-object data. The SDU receiver 10 further has a function of, upon receiving an RLC-SDU, storing the RLC-SDU in the sending buffer 16.
The PDU generator 11 has a function of acquiring a sending-object RLC-SDU from the sending buffer 16 and generating an RLC-protocol data unit (PDU) by processing the RLC-SDU. In other words, the PDU generator 11 divides and/or integrates the RLC-SDU into processing units having lengths suitable for re-sending control and sequence control in accordance with the communication method, and generates an RLC-PDU by attaching control information as header information to the divided/integrated data. The control information (header information) contained in the RLC-PDU includes information that is used for error detection or communication control such as flow control. For example, the RLC-PDU contains, as control information, a sequence number SN for use in window control. The sequence number SN is information that represents a sequence of data and also information that represents a range of a window in accordance with an amount of data that can be sent altogether to a communication partner. The sequence number SN increases from an initial value by one at a time and, after reaching a set upper-limit value, returns to the initial value. Thus, in the sequence number SN, integer values within a set numerical value range are repeatedly set in sequence. In this configuration, a range of a window (window size) is set to a range whose size is half the range from the initial value to the upper-limit value of the sequence number SN.
The controller 18 has a function of, on the basis of control information attached to data sent from a communication partner, acquiring a situation of reception of data at the communication partner, and managing a sequence number SN that the PDU generator 11 utilizes. Therefore, when attaching the sequence number SN to an RLC-SDU, the PDU generator 11 acquires information about the sequence number SN from the controller 18.
Furthermore, the PDU generator 11 has a function of acquiring a window size of a communication partner by reading, from the controller 18, a sequence number SN contained in control information sent from the communication partner and looking up the sequence number SN. The PDU generator 11 further has a function of controlling RLC-PDUs generated in such a way that a sequence number SN attached to data to be sent to a communication partner does not exceed a range of a window of the communication partner (a size of a receiving window).
Furthermore, the PDU generator 11 has a function of generating an RLC-PDU that has delivery confirmation information as control information in order to notify a communication partner whether or not the RLC sub-layer 5 has received data sent from the communication partner. Specifically, the PDU generator 11, using the sequence number SN managed by the controller 18, generates an RLC-PDU that has, as control information (delivery confirmation information), an ACK (acknowledgement) that indicates “received” or a NACK (negative acknowledgement) that indicates “unreceived”.
The PDU sender 12 has a function of sending the RLC-PDU generated by the PDU generator 11 to the MAC sub-layer 6.
In the MAC sub-layer 6, the SDU receiver 20 has a function of receiving, as an MAC-SDU, an RLC-PDU sent from the RLC sub-layer 5. The PDU generator 21 has a function of generating a MAC-PDU by multiplexing a plurality of MAC-SDUs received by the SDU receiver 20. The PDU generator 21 further has a function of holding the generated MAC-PDU until it is detected that the communication partner correctly receives the MAC-PDU.
The PDU sender 22 has a function of sending the MAC-PDU generated by the PDU generator 21 to the physical layer 7. The MAC-PDU sent by the PDU sender 22 is processed by the physical layer 7. Furthermore, the MAC-PDU processed by the physical layer 7 is sent by the wireless unit 8 from one of the base station eNB and the mobile station UE to the other one that is the communication partner, via the radio link RL.
The PDU receiver 23 of the MAC sub-layer 6 has a function of receiving an MAC-PDU sent from a communication partner and passed through the wireless unit 8 and the physical layer 7. The PDU receiver 23 further has a function of passing the received MAC-PDU to the HARQ information unit 27 and the SDU generator 24.
The HARQ (hybrid automatic repeat request) information unit 27 has a function of determining whether or not an error has occurred in the MAC-PDU received from the communication partner and, when an error has occurred, sending, to the communication partner, HARQ information that requests the data to be re-sent.
The controller 28 has a function of, when receiving HARQ information from a communication partner, controlling the PDU generator 21 so that the communication partner re-sends the MAC-PDU in which an error occurs. The PDU generator 21, on the basis of the control by the controller 28, outputs, to the PDU sender 22, the re-sending-object MAC-PDU. Therefore, the re-sending-object MAC-PDU is re-sent from the PDU sender 22 to the communication partner, passing through the physical layer 7, the wireless unit 8, and the radio link RL in order. A sequence number SN attached to the MAC-PDU re-sent in this manner is the same as the sequence number SN attached in the first sending.
The SDU generator 24 has a function of decomposing the MAC-PDU received by the PDU receiver 23. That is, the PDU generator 21 of the MAC sub-layer 6 of the communication partner generates the MAC-PDU by multiplexing a plurality of MAC-SDUs. Therefore, the MAC-PDU that the SDU generator 24 receives from the communication partner is a signal generated by multiplexing a plurality of MAC-SDUs. The SDU generator 24 decomposes the MAC-PDU to generate a plurality of MAC-SDUs. The SDU sender 25 sends the plurality of MAC-SDUs generated by the SDU generator 24 to the PDU receiver 13 of the RLC sub-layer 5.
The PDU receiver 13 in the RLC sub-layer 5 has a function of receiving, as an RLC-PDU, an MAC-SDU received from the MAC sub-layer 6. The PDU receiver 13 further has a function of notifying the controller 18 of control information (delivery confirmation information) attached to the received RLC-PDU and storing the other information in the receiving buffer 17. When storing the RLC-PDU in the receiving buffer 17, the PDU receiver 13 takes into account a window size (range of a receiving window) set in the receiving buffer 17 to store the RLC-PDU in the receiving buffer 17. That is, the PDU receiver 13 detects a sequence number SN attached to the RLC-PDU to be stored, and stores only data about the sequence number SN within the set range of the receiving window in the receiving buffer 17.
The SDU generator 14 has a function of acquiring an RLC-PDU from the receiving buffer 17 and generating an RLC-SDU, based on the acquired RLC-PDU. The SDU sender 15 has a function of sending the RLC-SDU generated by the SDU generator 14 to a PDCP sub-layer 4.
Note that PTL 1 discloses a configuration devised to prevent a problem that a throughput decreases because information needed for a re-sending function of a MAC sub-layer does not arrive from a communication partner.
A communication system as described above has a problem that a data sending process based on a window size and a sequence number SN by the RLC sub-layer 5 and a re-sending process by the MAC sub-layer 6 result in a fault in data that a communication partner receives.
This problem will be described by using a specific example illustrated in FIG. 5. Note that data transmission from a base station eNB to a mobile station UE will be used as an example below. Furthermore, it is assumed that integer values of “0” to “1023” are used as sequence numbers SN and a size of windows (a sending window and a receiving window) is 512, which is half the range width 1024 of the sequence numbers SN.
In the following description, it is assumed that data provided with sequence numbers SN up to “99” have reached the mobile station UE being a receiving side. In this case, the sequence number SN that indicates the lower end of a sending window set in the sending buffer 16 of the base station eNB being a sending side is “100” and the sequence number SN that indicates the upper end of the sending window is “611”. Furthermore, the sequence number SN that indicates the lower end of a receiving window set in the receiving buffer 17 in the mobile station UE is “100” and the sequence number SN that indicates the upper end of the receiving window is “611”.
For example, it is assumed that, at a time T1, data with a sequence number SN=100 is sent from the base station eNB toward the mobile station UE via processing by the RLC sub-layer 5 and the MAC sub-layer 6 of the base station eNB being the sending side. However, when an error occurs in the data in a communication path, HARQ re-sending is performed by a process by the MAC sub-layer 6. When data without error are not delivered to the mobile station UE although a maximum number of times of re-sending of HARQ is reached, a process by the RLC sub-layer 5 of the mobile station UE is performed at a time T2 to send, from the mobile station UE to the base station eNB, a re-sending request that requests re-sending of the data whose sequence number SN=100.
When, at a time T3, the re-sending request reaches the RLC sub-layer 5 of the base station eNB, a process by the RLC sub-layer 5 of the base station eNB is performed at a time T4 in accordance with the re-sending request to re-send the data whose sequence number SN=100 toward the mobile station UE. However, in the example in FIG. 5, it is assumed that data initially sent by the re-sending process by the RLC sub-layer 5 result in being undelivered due to occurrence of an error and data subsequently re-sent by the re-sending process by the MAC sub-layer 6 also result in being undelivered due to occurrence of an error. Furthermore, it is assumed that the data sent by the subsequent re-sending process by the MAC sub-layer 6 reach the RLC sub-layer 5 of the mobile station UE at a time T7.
On the other hand, it is assumed that, by a process performed by the RLC sub-layer 5 of the base station eNB, data having sequence numbers SN=100 to 611 within a range of a receiving window of the mobile station UE are sequentially sent toward the mobile station UE before a time T6. It is also assumed that data with the last sequence number SN=611 reached the RLC sub-layer 5 of the mobile station UE before a time T9. In this case, the sequence number SN that indicates the lower end of the receiving window of the mobile station UE becomes “612” and the sequence number SN that indicates the upper end of the receiving window becomes “99”.
Furthermore, by a process performed by the RLC sub-layer 5 of the mobile station UE caused by arrival of the data, a report of arrival that notifies the arrival of the data whose sequence numbers SN=100 to 611 is sent from the mobile station UE toward the base station eNB at a time T11. Then, at a time T12, the report of arrival reaches the RLC sub-layer 5 of the base station eNB. In response to the report of arrival, the base station eNB updates a range of a sending window to the next range of the sending window. Thus, the sequence number SN that indicates the lower end of the sending window of the base station eNB becomes “612” and the sequence number SN that indicates the upper end of the sending window becomes “99”.
Then, at a time T13, a process by the RLC sub-layer 5 of the base station eNB is performed, thereby sending data whose sequence number SN=612 within the range of the sending window. The data arrives at the RLC sub-layer 5 of the mobile station UE at a time T14. Thus, the sequence number SN that indicates the lower end of the receiving window in the mobile station UE becomes “613” and the sequence number SN that indicates the upper end of the receiving window becomes “100”.
By the way, it sometimes happens that prior to the time T7 at which the data whose sequence number SN=100 reaches the RLC sub-layer 5 of the mobile station UE being the receiving side by the re-sending process performed by the MAC sub-layer 6, a re-sending request for the data is output from the RLC sub-layer 5 of the mobile station UE. In this example, at a time T5 prior to the time T7, the re-sending request for the data whose sequence number SN=100 is output from the RLC sub-layer 5 of the mobile station UE. Then, at a time T8, the re-sending request reaches the RLC sub-layer 5 of the base station eNB. By a process performed by the RLC sub-layer 5 of the base station eNB in accordance with the re-sending request, the data with a sequence number SN=100 is re-sent toward the mobile station UE at a time T10. It is assumed that an error occurs on the re-sent data and that while the re-sending process by the MAC sub-layer 6 of the base station eNB is repeatedly performed, the data up to whose sequence number SN=611 have reached the mobile station UE at the time T9 as stated above. After that, when, at a time T14, the data up to whose sequence number SN=612 have further reached the mobile station UE, the sequence number SN that indicates the lower end of the receiving window of the mobile station UE becomes “613” and the sequence number SN that indicates the upper end of the window becomes “100”. It is assumed that when the receiving window has this range, the data whose sequence number SN=100 arrives at the RLC sub-layer 5 of the mobile station UE at a time T15 due to the re-sending process by the MAC sub-layer 6. Although the data is old data with a sequence number SN one cycle behind, the sequence number SN of the data is within the range of the receiving window. Therefore, the mobile station UE can receive the data with the sequence number SN=100 which is sent by the re-sending process performed by the MAC sub-layer 6 of the base station eNB, and falsely recognizes and therefore receives the received old data as the latest data.
In other words, because of a relation between a window size and a range of sequence numbers SN attached to sending-object data and a re-sending process performed by the MAC sub-layer 6, old data are received as the latest data, resulting in a problem of the received data having a fault.